Code Library - String Codes

Points with the same code can be automatically joined to form a string.
You might observe and record points along a kerb with a code KB1.
When you 'Form Strings' GeoSurvey will automatically form a string joining points with that code.

The rules for this operation are usually held in the config file (e.g. GeoSurvey_config.xml).
See the <stringCodes> section in that file.

The code library definitions can be in a stand alone file or in the main config file.
Note: If the 'Program Settings/Code Library File' field is blank, it will use the definitions in the main Config File.
If a file is defined in 'Program Settings/Code Library File', it will be used as the Code Library.

For info on Point Codes or for info on Symbol Definitions

Rules

  1. When 'Form Strings' is done, the first occurrence of a code will auto create the layer if it does not exist. It will assign the attributes you define (colour, style..)
  2. Subsequent occurrences of the code will be placed on that layer but will not change the layer attributes.
    e.g. If first occurrence has symbol 3, the layer will be assigned symbol 3 and the point will be 'ByLayer'.
    If the second ocurrence has symbol 4, the layer will not be changed but the point bwill get symbol 4.
  3. The string will be formed in point number order. This is usually the same order as they are observed in the field
  4. Codes are always case insensitive. They are always converted to upper case before comparison. This 'KB1' is the same as 'kb1'
This is a sample code definition followed by an explation of each tag.
<stringCodes>
  <config action_delimiter="+" remarks_delimiter="-" />
  <string code="KB*" type="Discon" discon="yes" layer="road" colour="BROWN" style="23" thickness="2" />
  <string code="FCE*" type="Unannot" layer="fences" colour="GREEN" style="32" />
  <point code="RM*" symbol="RMS" layer="Control" colour="Red" />
</stringCodes>

Action TagMeaning
<Action_delimeter> This character will be used as the delimiter to divide the string code from the action data. E.g. TR+1.5D10H can be used to indicate a tree, with a 1.5m diameter trunk and a 10m height. Everything after the '+' is treaed as an action - scaling etc. See Code Processing for info on valid action codes
<Remarks_delimeter> This is used to define the character to start a remark in a code. All characters after this code are ignored during string formation and will be copied to the Point remark

String Code Tags

String TagMeaning
<Code> The point code to be used to form the string, use a * for 'wildcard' characters. 'AB*' means that 'AB1' points will be formed into a string, then the points with code AB2 will be formed into a different string etc A single * is enough.
<type> Can be 'Lot', 'Traverse', 'Unannot', 'Road', 'Drain', 'Sewer', 'Kerb, 'Discon', 'Boundary', 'Notri', 'Water', Structure (default='Unannot')
<Discon> If 'yes' the string will be used as a discon or breakline. If not specified, discon=No
<Layer> Name of the layer, the string will be placed onto this layer, the layer will be automatically created if necessary
<Colour> The string colour. If the colour is the same as the layer colour, it will be set to 'BYLAYER'. See also Colours. If not specified, it will be set to 'BYLAYER'.
<fillColour> The fill string colour for lots. If the colour is the same as the layer colour, it will be set to 'BYLAYER'. See also Colours. If not specified, it will be set to 'BYLAYER'.
<Style> Line style number 0,1,2...32 (if blank, use layer style) See Standard Line Styles
<Thickness> Line Thickness - line width in mm (if blank, use layer thickness)
<symbol> The name/number of the symbol to be used on points with this code. See Symbol Definitions or Standard Symbols
<size_in_metres> The symbol size if defined in metres instead of mm
<contourable> Yes if the point to be used for triangle/contour formation. If not specified, Contourable=Yes
<symbolSize> Size of the symbol to be displayed in mm
<textSize> Size of the text to be displayed in mm for the layer (if created)
<textAngle> Angle in degrees (0-360) for the text - for the layer (if created)
<fontName> name of the font to be used for text to be displayed. e.g. "arial", "Tahoma". Only used by Conform Layers function
<heightDecimals> The number of decimal places for spot heights. Only used by Conform Layers function

Code Order

The order of the entries in the config file is important if you use similar codes.
Lets say you have a file set up with:
<pointCodes>
   <point code="TR*" symbol="Xtree" />
   <point code="TREU*" symbol="Ytree" />
   <point code="TREX*" symbol="Ztree" />
</pointCodes>

The 2nd and 3rd entries will never be used as a code like 'TREU1' satisfies the first line.
If you move the 'TR*' entry below the 'TREX*' entry that will work ok.
GeoSurvey searches the list of point codes SEQUENTIALLY and uses the fisrt matching code entry.